package vn.vng.research.fsd.data;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;

import org.apache.lucene.search.ScoreDoc;
import org.apache.lucene.search.TopDocs;

import vn.vng.research.fsd.services.thrift.TSchool;
import vn.vng.research.fsd.services.thrift.TUser;

/*
 ** writen by hanv
 ** n2.vietha@gmail.com
 */

public class FacetedTopDocs extends TopDocs{
	private List<TUser> profiles;	
	private Map<Integer,List<TUser>> schoolGroups;
	private List<TSchool> schoolLs;
	private List<ScoreDoc> scoreDocuments;

	public FacetedTopDocs(int totalHits, ScoreDoc[] scoreDocs, float maxScore,
			List<TUser> profiles, Map<Integer, List<TUser>> schoolGroups,
			List<TSchool> schoolLs,
			List<ScoreDoc> scoreDocuments) {
		super(totalHits, scoreDocs, maxScore);
		this.profiles = profiles;
		this.schoolGroups = schoolGroups;
		this.schoolLs = schoolLs;
		this.scoreDocuments = scoreDocuments;
	}

	public FacetedTopDocs(){
		super(0, null, -Float.MAX_VALUE);
		schoolGroups = new HashMap<Integer,List<TUser>>();
		profiles = new ArrayList<TUser>();
		schoolLs = new ArrayList<TSchool>();
		scoreDocuments = new ArrayList<ScoreDoc>();
	}

	public List<TUser> getProfiles() {
		return profiles;
	}

	public void setProfiles(List<TUser> profiles) {
		this.profiles = profiles;
	}

	public Map<Integer, List<TUser>> getSchoolGroups() {
		return schoolGroups;
	}

	public void setSchoolGroups(Map<Integer, List<TUser>> schoolGroups) {
		this.schoolGroups = schoolGroups;
	}

	public List<TSchool> getSchoolLs() {
		return schoolLs;
	}

	public void setSchoolLs(List<TSchool> schoolLs) {
		this.schoolLs = schoolLs;
	}

	public int getTotalHits() {
		return totalHits;
	}

	public void setTotalHits(int totalHits) {
		this.totalHits = totalHits;
	}

	public List<ScoreDoc> getScoreDocuments() {
		return scoreDocuments;
	}

	public void setScoreDocuments(List<ScoreDoc> scoreDocuments) {
		this.scoreDocuments = scoreDocuments;
	}

	
	
	
}
